package competitiongenerator.entities;

import java.util.Date;
import java.util.List;

public class Competitor {

    /**
     * The name of the competitor.
     */
    private String compName;
    
    /**
     * The first surname of the competitor.
     */
    private String comptFirstSurname;

    /**
     * The second surname of the competitor.
     */
    private String compSecondSurname;

    /**
     * The actual age of the competitor. Based on the birthday.
     */
    private int compAge;

    /**
     * The birthday of the competitor.
     */
    private Date compBirthday;

    /**
     * The federation number of the competitor.
     */
    private int compFederationNumber;

    /**
     * The country of the competitor.
     */
    private String compCountry;

    /**
     * The region of the competitor if the country is not enough.
     */
    private String compRegion;

    /**
     * The name of the competitor’s Sensei.
     */
    private List<String> compSensei;

    /**
     * The gym or the club where the competitor trains.
     */
    private List<String> compGym;

    /**
     * The weight of the competitor.
     */
    private double compWeight;

    /**
     * The range of the competitor.
     */
    private String compRange;

    /**
     * Basic constructor.
     * @param compName The name of the competitor.
     * @param comptFirstSurname The first surname of the competitor.
     * @param compRange The range of the competitor.
     */
    public Competitor(String compName, String comptFirstSurname, String compRange) {
        this.compName = compName;
        this.comptFirstSurname = comptFirstSurname;
        this.compRange = compRange;
    }

    /**
     * Getter.
     * @return The compAge.
     */
    public int getCompAge() {
        return compAge;
    }

    /**
     * Setter.
     * @param compAge The age of the competitor.
     */
    public void setCompAge(int compAge) {
        this.compAge = compAge;
    }

    /**
     * Getter.
     * @return The compBirthday.
     */
    public Date getCompBirthday() {
        return compBirthday;
    }

    /**
     * Setter.
     * @param compBirthday The birthday of the competitor.
     */
    public void setCompBirthday(Date compBirthday) {
        this.compBirthday = compBirthday;
    }

    /**
     * Getter.
     * @return The compCountry.
     */
    public String getCompCountry() {
        return compCountry;
    }

    /**
     * Setter.
     * @param compCountry The country of the competitor.
     */
    public void setCompCountry(String compCountry) {
        this.compCountry = compCountry;
    }

    /**
     * Getter.
     * @return The compFederationNumber.
     */
    public int getCompFederationNumber() {
        return compFederationNumber;
    }

    /**
     * Setter.
     * @param compFederationNumber The competitor federation number.
     */
    public void setCompFederationNumber(int compFederationNumber) {
        this.compFederationNumber = compFederationNumber;
    }

    /**
     * Getter.
     * @return The compGym.
     */
    public List<String> getCompGym() {
        return compGym;
    }

    /**
     * Setter.
     * @param compGym The list of gym/club (s) where the competitor comes from.
     */
    public void setCompGym(List<String> compGym) {
        this.compGym = compGym;
    }

    /**
     * Getter.
     * @return The compName.
     */
    public String getCompName() {
        return compName;
    }

    /**
     * Setter.
     * @param compName The name of the competitor.
     */
    public void setCompName(String compName) {
        this.compName = compName;
    }

    /**
     * Getter.
     * @return The compRange.
     */
    public String getCompRange() {
        return compRange;
    }

    /**
     * Setter.
     * @param compRange The range of the competitor.
     */
    public void setCompRange(String compRange) {
        this.compRange = compRange;
    }

    /**
     * Getter.
     * @return The compRegion.
     */
    public String getCompRegion() {
        return compRegion;
    }

    /**
     * Setter.
     * @param compRegion The region of the competitor.
     */
    public void setCompRegion(String compRegion) {
        this.compRegion = compRegion;
    }

    /**
     * Getter.
     * @return The compSecondSurname.
     */
    public String getCompSecondSurname() {
        return compSecondSurname;
    }

    /**
     * Setter.
     * @param compSecondSurname The second surname of the competitor.
     */
    public void setCompSecondSurname(String compSecondSurname) {
        this.compSecondSurname = compSecondSurname;
    }

    /**
     * Getter.
     * @return The compSensei.
     */
    public List<String> getCompSensei() {
        return compSensei;
    }

    /**
     * Setter.
     * @param compSensei The teacher(s) list of whom the competitor has received lessons.
     */
    public void setCompSensei(List<String> compSensei) {
        this.compSensei = compSensei;
    }

    /**
     * Getter.
     * @return The compWeight.
     */
    public double getCompWeight() {
        return compWeight;
    }

    /**
     * Setter.
     * @param compWeight The weight of the competitor.
     */
    public void setCompWeight(double compWeight) {
        this.compWeight = compWeight;
    }

    /**
     * Getter.
     * @return The comptFirstSurname.
     */
    public String getComptFirstSurname() {
        return comptFirstSurname;
    }

    /**
     * Setter.
     * @param comptFirstSurname The first surname of the competitor.
     */
    public void setComptFirstSurname(String comptFirstSurname) {
        this.comptFirstSurname = comptFirstSurname;
    }
}
